package org.jsola.hr.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiParam;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.jsola.core.vo.BaseVO;
import org.jsola.hr.entity.UserRoleCompanyDO;
import org.jsola.permission.vo.RoleVO;

import java.util.List;

/**
 * @author JanusMix
 */
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "【HR用户】详情展示对象")
@Data
public class HrUserVO extends BaseVO {

    private static final long serialVersionUID = 1439468113343783910L;

    @ApiParam(value = "用户名", example = "张三")
    private String name;

    @ApiParam(value = "姓名的拼音", example = "zhangsan")
    private String pinyin;

    @ApiParam(value = "头像", example = "")
    private String avatar;

    @ApiParam(value = "手机号", example = "1388888888")
    private String phone;

    @ApiParam(value = "用户id", example = "1")
    private String id;

    @ApiParam(value = "是否离职，1在职2离职", example = "2")
    private Integer status;

    @ApiParam(value = "角色名称", example = "管理员")
    private String roleName;

    @ApiParam(value = "角色id", example = "1")
    private Long roleId;

    @ApiParam(value = "人力角色id", example = "1")
    private Long hrRoleId;

    @ApiParam(value = "分公司id,总公司是supreme", example = "supreme")
    private String childCompanyId;

    @ApiParam(value = "分公司名称", example = "总公司")
    private String childCompanyName;

    @ApiParam(value = "用户在分(总)公司分管的用工单位")
    private List<CompanyListVO> companyList;

    @ApiParam(value = "用户在的用工单位")
    private List<String> companyIdList;

    @ApiModelProperty(notes = "用户分管分公司的所有用工单位", example = "true")
    private Boolean isAllEmployer;

    @ApiModelProperty(notes = "用户分管分公司的某几个用工单位", example = "1")
    private List<String> employerIdList;

    @ApiModelProperty(notes = "用户拥有的角色", example = "1")
    private List<RoleVO> roleList;

    @ApiModelProperty(notes = "用户所填信息百分比", example = "100%")
    private String Percentage;

    @ApiModelProperty(notes = "用户所在用工单位", example = "")
    private String companyName;

    @ApiModelProperty(notes = "用户所在用工单位", example = "")
    private String companyAllName;

    @ApiModelProperty(notes = "用户是否已实名认证", example = "1")
    private Boolean verified;

    @ApiModelProperty(notes = "邮箱", example = "")
    private String email;

    @ApiModelProperty(notes = "是否只读用户", example = "1")
    private Boolean isReadOnly;

    @ApiModelProperty(notes = "账号权限是否被删除", example = "true")
    private Boolean userRoleCompanyValid;

}
